iT邦幫忙

1

比特幣 Bitcoin 與區塊鏈技術

  • 分享至 

  • xImage
  •  

比特幣可以說是大家耳熟能詳的虛擬貨幣之一,其中背後所運用的技術核心為區塊鏈,甚至有比特幣造就了區塊鏈一說。

不過也有人對此提出不同看法,認為區塊鏈是從拜占庭將軍問題衍伸而成的一個系統機制。

不論怎麼看,比特幣與區塊鏈技術,可說有著密不可分關係。

比特幣創始人至今仍是一個謎,只知道它是一個名為中本聰的不具名作者,在 2008 年所創造了比特幣這項專案,直到 2009 年時,才開始發布使用,而比特幣運作原理,與拜占庭將軍問題,還有區塊鏈可說不知雞生蛋,還是蛋生雞。

比特幣與拜占庭將軍問題

比特幣與拜占庭將軍問題

要深入了解比特幣前,勢必要先理解一下什麼是拜占庭將軍問題,會比較容易理解為什麼比特幣這套系統,要進行這樣子設計。

拜占庭將軍問題是指,拜占庭將軍率軍出征,在包圍城鎮狀態下,部隊都四散各地,為了能夠達到統一指令效果,因此使用投票方式來進行協議,票多者作為後續行動方針。

在傳遞這些投票訊息,多半由信使擔任,但只要信使有叛徒,或將軍本身是叛徒,那麼將可分裂大家行動結果,如假設各兩個部隊,分別要進攻與撤退,最後關鍵一票,勢必左右全軍動向,如果中間出現叛徒,便會發生告訴要進攻的兩個部隊要繼續進攻,因為有三票是進攻,而對於撤退部隊也如法炮製,這樣便能讓行動結果出現分歧,造成整個大部隊四分五裂,達到破壞效果。

同理在一個分散式電腦系統,也有可能出現像拜占庭將軍問題這樣的情況,藉由故意傳遞錯誤訊息,造成系統癱瘓,或間接控制系統趨向某種結果,而比特幣本身也是使用分散式系統,倘若出現這樣的情況可在預料之內,畢竟只要有心人士惡意竄改了某些紀錄,勢必對整個系統造成不利影響。

比特幣為了解決拜占庭將軍問題,採用了工作量證明(Proof-of-Work)來解決,如此一來就能避免有心人士破壞,造成比特幣區塊鏈中的紀錄遭到篡改,下面將介紹區塊鏈運作原理,而區塊鏈也可說為比特幣運作核心。

區塊鏈與比特幣關係

區塊鏈主要運作原理,核心技術是使用了分散式帳本技術(Distributed Ledger Technology)來達成。

什麼是分散式帳本技術呢?

可以想像成一家銀行將所有完整的交易紀錄帳本,分散出去給各個存戶保管,假設有十萬存戶,這些存戶每個人手上,所擁有帳本中紀錄是一樣的,大家彼此都可以透過帳本進行對帳,如果萬一銀行這本主要帳本不幸遭竄改,大家便可用手中的副本帳本來對帳,看一筆記錄有問題。

區塊鏈去中心化機制

可以發現區塊鏈的分散式帳本技術,可以達到去中心化作用,而去中心化概念,可以想成我們原本都需要仰賴向銀行這樣的腳色,銀行蒐集了客戶所有交易紀錄集於一身,而我們都只知道自己與自身相關交易對象紀錄,倘若紀錄沒有及時到銀行補摺,這中間若發生一些爭議事件,如資料遭竄改、盜領,若中心端不認帳,可能會求助無門、死無對證。

因為有心人士只要將銀行這個中心化腳色的防線攻破,便可為所欲為,儘管現在各種防禦機制、資料備份...等相關措施都十分齊全,但倘若發生萬一,紀錄的資料要恢復原貌,便會花去不少時間,且追溯金流走向較為耗時。

而採用了去中心化機制的區塊鏈,萬一發生任何竄改事件,因為去中心化關係,尚有其它副本可供對照與追溯,如果要不被發現紀錄遭到竄改,就得一次攻破這些副本,否則很快就會被察覺,這也就是區塊鏈中,所謂具備了不可竄改之特性。

比特幣透過區塊鏈去中心化機制,在每個使用者交易紀錄,遍布整個比特幣網絡情況下,想要透過修改交易紀錄方式盜取比特幣,可說相對不易。

區塊鏈運作機制

區塊鏈技術與比特幣運作機制,可說息息相關,畢竟比特幣技術核心就是區塊鏈技術,而區塊鏈技術的運作機制可分成三個部分,分別為區塊、節點還有礦工,我們常說比特幣挖礦,就是因為大家搶著擔任了礦工這個腳色來牟利。

區塊 (Blocks)

區塊鏈之所以會這樣稱呼,就是因為它由區塊所串接而成,而區塊的內容物,包含了資料(Data)、隨機數(Nonce)還有雜湊值(Hash),可想成當交易記錄資料,在要保存至區塊時,為了安全,會把資料上鎖,而隨機數與雜湊值,便分別扮演了鑰匙與鎖的腳色。

而想要解開這道鎖,便需要尋找出正確隨機數這把鑰匙,才能查看區塊中的資料,而鎖的產生,則是根據當下區塊資料,與前一個雜湊值這道鎖,兩者共同運算出來,倘若資料遭到竄改,勢必也影響到後續雜湊值結果,雜湊值這道鎖一改變,其原本的隨機數這把鑰匙,也就無法使用了,因此形成了連鎖狀態,觸一髮動全身。

節點 (Nodes)

而節點則通常作為一個區塊鏈存放地點,日常生活中,電腦通常被用於當成節點的主要裝置,當然只要能夠連上網路,且擁有足夠儲存空間,基本上就能作為一個節點運作,節點主要用於接收整個區塊鏈上的相關異動資訊,且副本越多,想要竄改整個區塊鏈中交易資料也相對不易。

區塊鏈節點又有許多種類,每一個種類也都分別扮演不同腳色,這邊介紹常見兩個節點類型,主要常見節點類型分為完整節點(Full Nodes)與輕量節點(Lightweight Nodes),完整節點在這個區塊鏈分散式網絡中,有如伺服器腳色,主要用於與其它節點維持區塊鏈網絡中彼此共識,還有驗證交易,並儲存整個區塊鏈作為副本。

而輕量節點則用於日常生活交易操作,且十分仰賴完整節點提供必要資訊,通常會詢問完整節點,哪一個區塊是最後的區塊,並通知大家要開始進行交易流程,完整節點與輕量節點,兩者所需要資源,與所扮演腳色並不相同,當然還有其它腳色節點,有興趣朋友可自行參閱。

礦工 (Miners)

礦工在區塊鏈中,是負責開疆闢土,創造區塊的腳色,它們提供自身運算能力,為了取得所謂的「區塊鏈帳本紀錄權」,與取得後所發放的獎勵,無不使出渾身解數運算,最後勝出者,便能獲該區塊鏈一定數量的虛擬貨幣做酬勞,隨著虛擬貨幣對上現實貨幣價值水漲船高,也吸引了不少人投入當礦工的行列。

比特幣挖礦

其實比特幣挖礦,就是礦工利用區塊鏈特性,尋找出區塊中隨機數這把鑰匙,不過要找到這把鑰匙十分不簡單,因為鑰匙與鎖,光排列組合就高達了四十億以上,且解開了一題,還有後面一題,直到最後全部解完,才能取得「區塊鏈帳本紀錄權」,這樣的行為,就是一種工作量證明(Proof-of-Work)機制的應用。

而比特幣會針對挖礦者多寡,調節挖礦難度,避免交易產生時,卻沒有區塊可寫入交易資料的窘境,如果想要竄改像比特幣這種工作量證明機制的區塊鏈資料,必須獲得整個比特幣網絡運算量百分之五十一,才能獲得多數節點承認運算結果,這樣的代價十分高昂,通常不易實現。

比特幣使用工作量證明缺點

可以發現,比特幣使用了區塊鏈技術作為後盾,再搭配工作量證明機制,可說讓這一套加密貨幣在運作上,架構相對單純且可靠,而且人人都可以投入挖礦行列,只要投入越多運算能力,相對可以獲得報酬也就相對越高。

也因為比特幣的這一點,所耗用運算能力越高,背後代表著消耗電力資源也越高,有人統計過比特幣網路一年耗用能源,已經高於挪威,直追紐約州的用電量,無論是在環境生態、還是電力網路,可說一場浩劫。

此外也有技術專家針對比特幣挖礦,設計了專用型晶片,針對比特幣挖礦演算法,可有效提高運算能力,並藉此壟斷比特幣網絡運算量,讓其原本訴求去中心化設計理念背道而馳,反而經由這樣壟斷,發起 51% 攻擊以修改資料,此外也有人為了提高獲利,開發出特製攜帶型比特幣挖礦裝置,利用竊電方式,藉此牟利。

比特幣對於世界貢獻

其實各界對於比特幣問世,可說褒貶不一,不過就比特幣對於電腦科技在推動上,可說有著顯貢獻,特別是背後所運用的區塊鏈技術,讓後面許多加密貨幣,還有其它相關運用,如雨後春筍般冒出,也更促使金融資訊技術改革路上,向前邁進了一大步,可說功不可沒。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言